//package com.equipment.management.redis.service.impl;
//
//import com.equipment.management.redis.service.Locker;
//import org.redisson.api.RLock;
//import org.redisson.api.RedissonClient;
//
//import java.util.concurrent.TimeUnit;
//
//public class RedissonLocker implements Locker {
//
//    private RedissonClient redissonClient;
//
//    public RedissonLocker(RedissonClient redissonClient) {
//        super();
//        this.redissonClient = redissonClient;
//    }
//
//
//    public void lock(String lockKey) {
//        RLock lock = redissonClient.getLock(lockKey);
//        lock.lock();
//    }
//
//
//    public void unlock(String lockKey) {
//        RLock lock = redissonClient.getLock(lockKey);
//        lock.unlock();
//    }
//
//
//    public void lock(String lockKey, int leaseTime) {
//        RLock lock = redissonClient.getLock(lockKey);
//        lock.lock(leaseTime, TimeUnit.SECONDS);
//    }
//
//
//    public void lock(String lockKey, TimeUnit unit, int timeout) {
//        RLock lock = redissonClient.getLock(lockKey);
//        lock.lock(timeout, unit);
//    }
//
//    public void setRedissonClient(RedissonClient redissonClient) {
//        this.redissonClient = redissonClient;
//    }
//
//
//    public boolean tryLock(String lockKey) {
//        RLock lock = redissonClient.getLock(lockKey);
//        return lock.tryLock();
//    }
//
//
//    public boolean tryLock(String lockKey, long waitTime, long leaseTime,
//                           TimeUnit unit) throws InterruptedException{
//        RLock lock = redissonClient.getLock(lockKey);
//        return lock.tryLock(waitTime, leaseTime, unit);
//    }
//
//
//    public boolean isLocked(String lockKey) {
//        RLock lock = redissonClient.getLock(lockKey);
//        return lock.isLocked();
//    }
//}
